#pragma once
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <string.h>
#define INIT_CAPACITY 4//过大小检定时如果原顺序表是空的就给个4作为基础大小，需要调整时把这里的定义改掉就好

typedef struct student //学生信息定义
{
    char name[8]; //学生姓名
    float score; //学生成绩
}SLDataType;

// 动态顺序表 -- 按需申请
typedef struct SeqList
{
    SLDataType* a;
    int size;     // 有效数据个数
    int capacity; // 空间容量
}SL;

//初始化
void SLInit(SL* ps);
//销毁
//一定要记得！！！
void SLDestroy(SL* ps);
//扩容（其实这个扩容的函数好像不会让用户来使用，绝对是会仅仅出现在其他函数里的，这里个人认为完全可以不声明）
void SLCheckCapacity(SL* ps);

//头部插入
void SLPushBack(SL* ps, SLDataType x);